Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't require twitter #235

Merged
merged 204 commits into from
Feb 10, 2023
Merged

don't require twitter #235

merged 204 commits into from
Feb 10, 2023

Conversation

colons
Copy link
Member

@colons colons commented Dec 12, 2022

authentication stuff:

  • allow new local accounts to be created with usernames and passwords
    • don't allow creation of local accounts with usernames that match the @ of any existing request that has not had its account claimed by a local user
  • allow new local accounts to be created with twitter authentication
  • allow existing local accounts to adopt twitter accounts (and their request history) by authenticating with them
    • only allow this once
  • unify user pages
  • make stats correctly rank the two different kinds of Voter, without duplicates (continue from e67d3a8)
  • allow existing local accounts to adopt password login when they're only using twitter auth
  • extend the tests (i will do this over time. it cannot ever be completed):
    • hit every page as a user with/without both twitter auth and a usable password
    • add more fixtures for users in different states. look at all their profiles
    • test our hyper-specific twitter auth flow and its error messages
    • hit every page as an elf and not an elf, where possible
  • always make a profile object against users when they are created or accessed
  • resolve every new XXX comment
  • remove every tweepy import
  • enforce good passwords. django has tools for this.

user management:

  • make sure being authenticated doesn't provide access to staff- or elf-only features (this might require creating a elf group?)
    • the check metadata view
    • /vote-admin/requests/
  • stop logging the contents of forms protected by trivia by default
  • allow profile editing
  • allow password editing
    • provide a form that's not the stock django admin one
  • make the profile editing form not look super broken when an avatar is set
  • have a placeholder avatar that isn't noise.png
    • apply it to unlinked TwitterUsers, too

basic workflow:

  • change request links to point to a request form instead of a twitter intent

moderation tools:

  • support, at the very least, the same condemn controls that are allowed for twitter users

communications:

  • update the readme to explain how things work now
    • explain how it differs from the way things used to be (not done, see 993bbc2 for my thoughts on why this was a bad idea)
  • probably go on the show to talk about this

mypy isn't ready yet, and im not convinced it matches these purposes
anyway.

This reverts commit 04c6900.
Also, abstract out the display of show dates to a dedicated include.
The form does not yet show you what you're requesting. This is a
problem. It also probably shouldn't open in a new tab.
The view should do this every time. There's no reason for it to ever
pass through the user's hands.
It's not an external site any more.
colons and others added 27 commits February 10, 2023 12:50
Also, remove a CSS hack that was only necessary due to this HTML being
as broken as it was.
This template is just stolen directly from Django's, with some
whitespace changes. Now, I need to actually fix the problems I have with
it.
I'm still not happy with this. The way these forms are laid out just
does not mesh with the way these widgets work, and it ends up looking
kinda ugly.

This, at least, makes it look less broken.
This will probably make the website noticably slower in some cases. It's
necessary, though, or you'll get a random other user's eligibility
state.
This method gets called a lot, so this should help things.
I actually caught this one the first time, I just didn't save the file.
We had talked about mentioning what has changed as a result of #235
here, but on reflection, I don't think that makes much sense. Existing
users are going to behave habitually, and we have placed a net to catch
them in the form of the login page. There's no reason to mention any of
this stuff to new users.
It was never really necessary to do it at times other than migrations.
I think opening with this is a good idea, just to make sure we're on the
same page as the reader. Without this context, it might be possible for
someone to come away being unsure why we want them to do this, and I can
imagine that being a pretty confusing experience.
four icons, each in 24 hues, generated programmatically.
the only thing changing between icons is the <path> element,
and the only thing changing between hues is the fill: style on that path.
@colons colons merged commit 0dedc13 into main Feb 10, 2023
@colons colons changed the title draft: don't require twitter don't require twitter Feb 10, 2023
@colons colons deleted the dont-require-twitter branch February 26, 2023 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants